package com.zb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.entity.ZjWorkSpareLog;
import com.zb.result.PageUtil;
import com.zb.vo.WorkFeeLogVo;
import com.zb.vo.WorkSpareLogVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 工单备件记录表 服务类
 * </p>
 *
 * @author WEN
 * @since 2023-10-27
 */
public interface ZjWorkSpareLogService extends IService<ZjWorkSpareLog> {
    /**
     * 保存客服操作的工单备件记录
     * @param workSpareLogVo
     */
    void saveServiceWorkSpareLog(WorkSpareLogVo workSpareLogVo);

    /**
     * 批量保存客服操作的工单备件记录
     * @param workSpareLogVos
     */
    void saveServiceWorkSpareLog(List<WorkSpareLogVo> workSpareLogVos);

    /**
     * 保存移动端网点操作的工单备件记录
     * @param workSpareLogVo
     */
    void saveMobileNetworkWorkSpareLog(WorkSpareLogVo workSpareLogVo);

    /**
     * 批量保存移动端网点操作的工单备件记录
     * @param workSpareLogVos
     */
    void saveMobileNetworkWorkSpareLog(List<WorkSpareLogVo> workSpareLogVos);

    /**
     * 保存第三方系统操作的工单备件记录
     * @param workSpareLogVo
     */
    void saveThirdSystemWorkSpareLog(WorkSpareLogVo workSpareLogVo);

    /**
     * 批量保存第三方系统操作的工单备件记录
     * @param workSpareLogVos
     */
    void saveThirdSystemWorkSpareLog(List<WorkSpareLogVo> workSpareLogVos);

    /**
     * 保存客服操作的工单备件旧件记录
     * @param workSpareLogVo
     */
    void saveServiceWorkSpareOldLog(WorkSpareLogVo workSpareLogVo);

    /**
     * 保存客服操作的工单备件旧件记录
     * @param workSpareLogVos
     */
    void saveServiceWorkSpareOldLog(List<WorkSpareLogVo> workSpareLogVos);

    /**
     * 根据工单备件ID获取工单备件日志记录列表
     * @param workSpareId  工单备件ID
     * @param pageUtil
     * @return
     */
    Map<String, Object> getOrderWorkSpareLogList(Long workSpareId, PageUtil pageUtil);

    /**
     * 根据工单备件旧件ID获取工单备件日志记录列表
     * @param workOldSpareId  工单备件旧件ID
     * @param pageUtil
     * @return
     */
    Map<String, Object> getOrderWorkOldSpareLogList(Long workOldSpareId, PageUtil pageUtil);

}
